// face-diagnosis-detail.js
const app = getApp()

Page({
  data: {
    userInfo: {
      avatar: '',
      username: '游客_939580',
      time: ''
    },
    currentTab: 'symptoms', // symptoms, suggestions
    diagnosisResult: {
      mainDiagnosis: '淡白无华:气血不足或失血证',
      detailedExplanation: '脾胃为后天之本,气血生化之源,脾胃气虚,不能运化水谷,化生气血,气血不足,面部不能被气血荣润而见淡白;或者是由于失血更多',
      originalExplanation: '脾胃为后天之本,气血生化之源,脾胃气虚,不能运化水谷,化生气血,气血不足,面部不能被气血荣润而见淡白;或者是由于失血更多',
      pathologicalMeaning: '根据中医理论，面色淡白无华主要反映气血不足或失血证候，需要及时调理。',
      currentView: 'analysis', // analysis, pathology
      eyeColor: {
        status: '正常',
        explanation: '眼眶周围发青发黑,常因久病体虚、睡眠不足、烟酒刺激等生活规律不正常而引起的。因此,预防黑眼圈必须保证每天7~9小时充更多',
        originalExplanation: '眼眶周围发青发黑,常因久病体虚、睡眠不足、烟酒刺激等生活规律不正常而引起的。因此,预防黑眼圈必须保证每天7~9小时充更多',
        pathologicalMeaning: '眼色正常表示眼部血液循环良好，无明显的血瘀或血虚症状。',
        currentView: 'analysis'
      }
    },
    symptomsData: {
      faceColor: '白色',
      organ: '肺脏',
      features: [
        {
          name: '眼色',
          status: '正常',
          icon: '👁️'
        }
      ]
    },
    suggestionsData: {
      tcmAdvice: [
        '补气多食黄芪、党参、人参、山药、蜂蜜、大枣;及中成药"四君子汤"。',
        '补血多食当归、阿胶、龙眼肉等;及中成药"四物汤"。'
      ],
      acupressureAdvice: [
        '在传统的中医理论中,攒竹穴、丝竹空穴、太阳穴3个穴位,都能够缓解眼部的疲劳,促进眼部的血液循环。因此自行按摩这3个穴位,就能够有效地消除黑眼圈。按摩的方法如下:',
        '(1)攒竹穴位于眉头处稍浅的凹陷中,用大拇指按住两边的攒竹穴,向中心牵扯。',
        '(2)丝竹空穴位于眉尾稍稍凹陷的部位。按摩时应用中指或食指慢慢地向内侧推揉。',
        '(3)太阳穴位于眉梢和外眼角连线向外1厘米处,用中指按住太阳穴并轻轻地向脸部中央推揉。',
        '坚持按摩攒竹穴、丝竹穴、鱼腰穴、承泣穴、'
      ]
    }
  },

  onLoad(options) {
    console.log('面诊详情页面加载', options)
    
    // 加载用户信息
    this.loadUserInfo()
    
    // 设置实时时间
    this.updateCurrentTime()
    this.startTimeUpdate()
    
    // 如果有传入的诊断数据，更新页面数据
    if (options.diagnosisData) {
      try {
        const diagnosisData = JSON.parse(decodeURIComponent(options.diagnosisData))
        
        // 保存原始的结果解析内容
        diagnosisData.originalExplanation = diagnosisData.detailedExplanation || '';
        
        // 设置默认的病理意义内容（如果没有传入）
        diagnosisData.pathologicalMeaning = diagnosisData.pathologicalMeaning || 
          '根据中医理论，面色淡白无华主要反映气血不足或失血证候，需要及时调理。';
        
        // 设置当前视图状态
        diagnosisData.currentView = 'analysis';
        
        // 处理眼色数据
        if (diagnosisData.eyeColor) {
          // 保存原始的眼色结果解析内容
          diagnosisData.eyeColor.originalExplanation = diagnosisData.eyeColor.explanation || '';
          
          // 设置默认的眼色病理意义内容（如果没有传入）
          diagnosisData.eyeColor.pathologicalMeaning = diagnosisData.eyeColor.pathologicalMeaning || 
            '眼色正常表示眼部血液循环良好，无明显的血瘀或血虚症状。';
          
          // 设置眼色当前视图状态
          diagnosisData.eyeColor.currentView = 'analysis';
        }
        
        this.setData({
          diagnosisResult: diagnosisData
        })
      } catch (error) {
        console.error('解析诊断数据失败:', error)
      }
    }
  },

  onUnload() {
    // 页面卸载时清除定时器
    if (this.timeUpdateTimer) {
      clearInterval(this.timeUpdateTimer)
    }
  },

  // 加载用户信息
  loadUserInfo() {
    const globalUserInfo = app.getUserInfo()
    if (globalUserInfo && globalUserInfo.isLogin) {
      // 使用登录用户的昵称
      const username = globalUserInfo.nickname || globalUserInfo.username || '用户'
      this.setData({
        'userInfo.username': username,
        'userInfo.avatar': globalUserInfo.avatar || ''
      })
    } else {
      // 未登录状态，保持默认游客名称
      this.setData({
        'userInfo.username': '游客_939580',
        'userInfo.avatar': ''
      })
    }
  },

  // 更新当前时间
  updateCurrentTime() {
    const now = new Date()
    const year = now.getFullYear()
    const month = String(now.getMonth() + 1).padStart(2, '0')
    const day = String(now.getDate()).padStart(2, '0')
    const hours = String(now.getHours()).padStart(2, '0')
    const minutes = String(now.getMinutes()).padStart(2, '0')
    const seconds = String(now.getSeconds()).padStart(2, '0')
    
    const timeString = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
    
    this.setData({
      'userInfo.time': timeString
    })
  },

  // 开始时间更新定时器
  startTimeUpdate() {
    // 每秒更新一次时间
    this.timeUpdateTimer = setInterval(() => {
      this.updateCurrentTime()
    }, 1000)
  },

  // 切换标签页
  onTabChange(e) {
    const tab = e.currentTarget.dataset.tab
    this.setData({
      currentTab: tab
    })
  },

  // 结果解析按钮
  onResultAnalysis() {
    // 更新显示内容为结果解析
    this.setData({
      'diagnosisResult.detailedExplanation': this.data.diagnosisResult.originalExplanation,
      'diagnosisResult.currentView': 'analysis'
    });
  },

  // 病理意义按钮
  onPathologicalSignificance() {
    // 更新显示内容为病理意义
    this.setData({
      'diagnosisResult.detailedExplanation': this.data.diagnosisResult.pathologicalMeaning,
      'diagnosisResult.currentView': 'pathology'
    });
  },

  // 眼色结果解析
  onEyeColorAnalysis() {
    // 更新显示内容为结果解析
    this.setData({
      'diagnosisResult.eyeColor.explanation': this.data.diagnosisResult.eyeColor.originalExplanation,
      'diagnosisResult.eyeColor.currentView': 'analysis'
    });
  },

  // 眼色病理意义
  onEyeColorPathology() {
    // 更新显示内容为病理意义
    this.setData({
      'diagnosisResult.eyeColor.explanation': this.data.diagnosisResult.eyeColor.pathologicalMeaning,
      'diagnosisResult.eyeColor.currentView': 'pathology'
    });
  },

  // 复制到剪贴板
  onCopyToClipboard() {
    const content = this.data.diagnosisResult.detailedExplanation
    wx.setClipboardData({
      data: content,
      success: () => {
        wx.showToast({
          title: '已添加到剪贴板',
          icon: 'success',
          duration: 2000
        })
      }
    })
  },

  // 返回上一页
  onBack() {
    wx.navigateBack()
  },

  // 返回首页
  onHome() {
    wx.switchTab({
      url: '/pages/index/index'
    })
  },

  // 点击查看详情
  onViewDetail() {
    wx.showModal({
      title: '查看详情',
      content: '这里可以查看更详细的面诊分析结果和调理建议。',
      showCancel: false,
      confirmText: '知道了'
    })
  }
})
